./" Written by Tom Tsagk <tomtsagk@darkdimension.org>
.TH AVDL 1 "2021-02-28" "avdl 0.0.0"

.SH NAME
avdl \- abstract video-game development language compiler

.SH SYNOPSIS
.B avdl\fR [\fB-c\fR] [\fB-o \fIoutput\fR] \fIfile\fR...

.SH DESCRIPTION
.B avdl
is a high level programming language designed to describe a video game
in an abstract way, and then compile it for different platforms.

.SH OPTIONS

.TP
\fB-c\fR
Only compile the given file to an object file.
Each given file will be compiled to a file with the same name
but with a \fB.ago\fR suffix.
If \fB-o\fR is active, only one input file can be given.

.TP
\fB-o \fIoutput\fR
Provide a name for the \fIoutput\fR file.
If \fB-c\fR is active, \fIoutput\fR will be an object file.
Otherwise, \fIoutput\fR will be the executable file.

.SH EXAMPLES
To compile a file, use the following command:
.PP
.nf
.RS
avdl file1 file2
.RE
.fi
.PP
Unless an error occurs, this will compile and link all given files and produce
a file named \fBgame\fR in the current directory, which is the executable for
the game itself.

It's also possible to compile each file individually, and link them
all together in separate steps. This can be used to compile only parts
of a project that have changed, instead of the whole project:
.PP
.nf
.RS
avdl -c file1 -o file1.ago
avdl -c file2 -o file2.ago
avdl file1.ago file2.ago -o my_game
.RE
.fi
.PP
Take a look at \fBsamples/\fR for examples of actual projects.

.SH AUTHOR
Tom Tsagk (tomtsagk@darkdimension.org)
